#ifndef VIEWMODESETTINGSFORM_H
#define VIEWMODESETTINGSFORM_H

#include <QtGui/QDialog>
#include <QDesktopWidget>
#include <QMessageBox>
#include <QFileDialog>

#include <shlobj.h>
#include <stdlib.h>

#include "settingsdialog.h"

namespace Ui {
    class viewModeSettingsForm;
}

class viewModeSettingsForm : public QDialog {
    Q_OBJECT
public:
    viewModeSettingsForm(QWidget *parent = 0);
    ~viewModeSettingsForm();

    settingsDialog * mySettings;

    bool run_form();
    QStringList getViewModes();
    QString getDefaultViewMode();
    QString getCurrentViewMode();

signals:
    void viewModeChosen();

public slots:
    void currentModeChanged( const QString& );

protected:
    void changeEvent(QEvent *e);

private:
    Ui::viewModeSettingsForm *m_ui;

    void drawTreeView();
    void readSettings();
    void writeSettings();

private slots:
    void on_viewModeTree_itemDoubleClicked(QTreeWidgetItem* item, int);
    void on_subfoldersCheck_stateChanged(int );
    void on_closeButton_clicked();
    void on_saveButton_clicked();
    void on_defaultButton_clicked();
    void on_removeButton_clicked();
    void on_cloneButton_clicked();
    void on_modifyButton_clicked();
    void on_addButton_clicked();

    void setModes();
    void setDefault( const QString & );

    void on_actionImport_triggered();
    void on_actionExport_triggered();

    QString getSettingsFolderPath();
};

#endif // VIEWMODESETTINGSFORM_H
